package com.xhtt.modules.task.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xhtt.common.utils.PageUtils;
import com.xhtt.modules.sys.entity.SysUserEntity;
import com.xhtt.modules.task.entity.SuperTaskUser;
import com.xhtt.modules.task.model.alltask.ArrangeTeamModel;
import com.xhtt.modules.task.model.alltask.ArrangeUserModel;
import com.xhtt.modules.task.model.alltask.TaskAllModel;
import com.xhtt.modules.task.model.report.TaskForRankingModel;
import com.xhtt.modules.task.model.report.TaskForSelfModel;
import com.xhtt.modules.task.model.report.TaskForTeamModel;
import com.xhtt.modules.task.model.report.TaskForTeamUserModel;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *
 * </p>
 *
 * @author feipc
 * @since 2019-02-27
 */
public interface TaskAllService extends IService<TaskAllModel> {
    int allTaskCount(SysUserEntity user, Integer status);

    List<TaskAllModel> allTaskList(SysUserEntity user, Integer status);

    void changeShifts(SysUserEntity user, SuperTaskUser tu);

    PageUtils corePlanList(Map<String,Object> params);

    List<TaskForTeamModel> taskForTeam(Map<String,Object> params);

    List<TaskForTeamUserModel> taskForTeamUser(Map<String,Object> params);

    List<TaskForSelfModel> taskForSelf(Map<String,Object> params);

    List<TaskForRankingModel> taskForRanking();

    void arrangeTeam(SysUserEntity user, ArrangeTeamModel model);

    void arrangeUser(SysUserEntity user, ArrangeUserModel model);

    int assistTaskCount(SysUserEntity user);

    List<TaskAllModel> assistTaskList(SysUserEntity user);
}
